home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / program / fpk65_66.zip / SOURCE / RTL / DOS / SYSTEMH.INC < prev    next >
Text File  |  1997-02-11  |  7KB  |  198 lines

  1. {****************************************************************************
  2.  
  3.                        Copyright (c) 1993,1997 by
  4.                     Florian Klämpfl & Michael Spiegel
  5.  
  6.  ****************************************************************************}
  7.  
  8. { diese Datei enthaelt die betriebssystemunabhaengigen Deklarationen der }
  9. { Unit System                                  }
  10.  
  11.     type    
  12.        shortint = -128..127;
  13.  
  14.        { longint ist in TP als  -2147483648..2147483647 deklariert,  }
  15.        { aber dies kann in dieser PP-Version nicht ueberstzt werden, }
  16.        { werden, da  der Compiler erst 2147483648 versucht in eine   }
  17.        { Int-Konstante umzuwandeln, um dann diese Zahl spaeter zu    }
  18.        { negieren, aber da macht VAL natürlich nicht mit             }
  19.  
  20.        { also Zweierkomplementdarstellung:                           }
  21.        longint  = $80000000..$7fffffff;
  22.  
  23.        integer  = -32768..32767;
  24.        byte     = 0..255;
  25.        word     = 0..65535;
  26.  
  27.     const
  28.        { max. Werte für longint und int }
  29.        maxlongint = $7fffffff;
  30.        maxint = 32767;
  31.  
  32.     type
  33.        { Turbo Pascal Fließkommatypen wenigstens deklarieren: }
  34.        extended = real;
  35.        double = real;
  36.        single = real;
  37.  
  38.        { Nullterminierte Strings }
  39.        pchar = ^char;
  40.        
  41.     const
  42.        { Kompatibilität zu TP }
  43.        test8086 : byte = 2; { immer i386 oder neuer }
  44.        test8087 : byte = 3; { immer 387 oder höher; notfalls emuliert }
  45.  
  46.     var
  47.        { Standartein- und ausgabe }
  48.        output,input : text;
  49.        exitproc : pointer;
  50.        inoutres : word;
  51.  
  52.     procedure runerror(w : word);
  53.     procedure move(var source,dest;count : longint);
  54.     procedure fillchar(var x;count : longint;value : char);
  55.     procedure fillchar(var x;count : longint;value : byte);
  56.     procedure fillword(var x;count : longint;value : word);
  57.     
  58.     function lo(w : word) : byte;
  59.     function hi(w : word) : byte;
  60.     function lo(i : integer) : byte;
  61.     function hi(i : integer) : byte;
  62.     
  63.     function lo(l : longint) : word;
  64.     function hi(l : longint) : word;
  65.     
  66.     function ord(c : char) : byte;
  67.     function ord(b : boolean) : byte;
  68.     function chr(b : byte) : char;
  69.     
  70.     function length(s : string) : byte;
  71.  
  72.     procedure str(l : longint;var s : string);
  73.     procedure str(d : double;var s : string);
  74.     procedure str(i : integer;var s : string);
  75.     procedure str(si : shortint;var s : string);
  76.     procedure str(b : byte;var s : string);
  77.     procedure str(w : word;var s : string);
  78.     procedure val(const s : string;var v : longint;var code : word);
  79.     procedure val(const s : string;var v : longint);
  80.     procedure val(const s : string;var b : byte);
  81.     procedure val(const s : string;var b : byte;var code : word);
  82.     procedure val(const s : string;var d : double;var code : word);
  83.  
  84.     procedure inc(var i : longint);
  85.     procedure inc(var i : integer);
  86.     procedure inc(var i : word);
  87.     procedure inc(var i : shortint);
  88.     procedure inc(var i : byte);
  89.  
  90.     procedure dec(var i : longint);
  91.     procedure dec(var i : integer);
  92.     procedure dec(var i : word);
  93.     procedure dec(var i : shortint);
  94.     procedure dec(var i : byte);
  95.  
  96.     procedure dec(var i : longint;a : longint);
  97.     procedure inc(var i : longint;a : longint);
  98.     procedure dec(var i : word;a : longint);
  99.     procedure inc(var i : word;a : longint);
  100.     procedure dec(var i : integer;a : longint);
  101.     procedure inc(var i : integer;a : longint);
  102.     procedure dec(var i : byte;a : longint);
  103.     procedure inc(var i : byte;a : longint);
  104.     procedure dec(var i : shortint;a : longint);
  105.     procedure inc(var i : shortint;a : longint);
  106.     
  107.     function random(l : longint) : longint;
  108.     procedure halt;
  109.     procedure halt(errnum : byte);
  110.     procedure randomize;
  111.     function paramcount : longint;
  112.     function paramstr(l : longint) : string;
  113.     
  114.     { Speicherverwaltung }
  115.     procedure getmem(var p : pointer;size : longint);
  116.     procedure freemem(var p : pointer;size : longint);
  117.     function memavail : longint;
  118.     function maxavail : longint;
  119.  
  120.     { Dateiverwaltung }
  121.     procedure assign(var f : file;const name : string);
  122.     procedure rewrite(var f : file;l : word);
  123.     procedure rewrite(var f : file);
  124.     procedure reset(var f : file;l : word);
  125.     procedure reset(var f : file);
  126.     procedure append(var t : text);
  127.     procedure blockwrite(var f : file;var buf;count : longint);
  128.     procedure blockread(var f : file;var buf;count : longint);
  129.     procedure blockread(var f : file;var buf;count : longint;var result : longint);
  130.     procedure blockread(var f : file;var buf;count : word;var result : word);
  131.     procedure close(var f : file);
  132.     function filepos(var f : file) : longint;
  133.     function filesize(var f : file) : longint;
  134.     procedure seek(var f : file;pos : longint);
  135.     procedure erase(var f : file);
  136.     procedure rename(var f : file;const s : string);
  137.     function eof(var f : file) : boolean;
  138.  
  139.     procedure assign(var t : text;const s : string);
  140.     procedure rewrite(var t : text);
  141.     procedure reset(var t : text);
  142.     procedure close(var t : text);
  143.     function eof(var t : text) : boolean;
  144.     function eof : boolean;
  145.     function eoln(var t : text) : boolean;
  146.     function eoln : boolean;
  147.     procedure flush(var t : text);
  148.     procedure erase(var t : text);
  149.     procedure rename(var t : text;const s : string);
  150.     
  151.     function ioresult : word;
  152.     
  153.     procedure chdir(const s : string);
  154.     procedure mkdir(const s : string);
  155.     procedure rmdir(const s : string);
  156.     procedure getdir(drivenr : byte;var dir : string);
  157.  
  158.     { math. Routinen }
  159.     function abs(l : longint) : longint;
  160.     function sqr(l : longint) : longint;
  161.     function odd(l : longint) : boolean;
  162.  
  163.     function ptr(sel,off : word) : pointer;
  164.  
  165.     { real. Matheroutinen }
  166.     {$I MATHH.INC}
  167.  
  168.     { Stringbehandlung }
  169.     function copy(const s : string;index : integer;count : byte) : string;
  170.     procedure delete(var s : string;index : integer;count : integer);
  171.     procedure insert(const source : string;var s : string;index : integer);
  172.     function pos(const substr : string;const s : string) : byte;
  173.     function upcase(c : char) : char;
  174.     function upcase(const s : string) : string;
  175.     function lowercase(c : char) : char;
  176.     function lowercase(const s : string) : string;
  177.     function space(b : byte) : string;
  178.  
  179.     const
  180.        fmclosed = $D7B0;
  181.        fminput = $D7B1;
  182.        fmoutput = $D7B2;
  183.        fminout = $D7B3;
  184.        fmappend = $D7B4;
  185.  
  186.        filemode : byte = 2;
  187.  
  188. { old version doesn't like this }
  189. {$ifndef VER0_6_5}
  190. {$ifndef VER0_6_4}
  191.     type
  192.        tobject = class
  193.           constructor create;
  194.           destructor free;virtual;
  195.        end;
  196. {$endif}
  197. {$endif}
  198.